aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/[user]/+page.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-09-28 18:53:43 -0700
committerFuwn <[email protected]>2024-09-28 18:53:43 -0700
commit9712c697a910360c499f2bddbdb510962d17be8b (patch)
treee2dd937e5003c74d5de2360ca4d3f1b4803b908d /src/routes/user/[user]/+page.svelte
parentfeat(graphl): set up user module (diff)
downloaddue.moe-9712c697a910360c499f2bddbdb510962d17be8b.tar.xz
due.moe-9712c697a910360c499f2bddbdb510962d17be8b.zip
feat(user): move profile page badges to graphql
Diffstat (limited to 'src/routes/user/[user]/+page.svelte')
-rw-r--r--src/routes/user/[user]/+page.svelte29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index 44e50df7..0369a920 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -2,7 +2,7 @@
import settings from '$stores/settings';
import ParallaxImage from '../../../lib/Image/ParallaxImage.svelte';
import { typeSchedule, type ParseResult } from '$lib/Hololive/hololive';
- import { user, type User } from '$lib/Data/AniList/user';
+ import { type User } from '$lib/Data/AniList/user';
import HeadTitle from '$lib/Home/HeadTitle.svelte';
import Message from '$lib/Loading/Message.svelte';
import { estimatedDayReading } from '$lib/Media/Manga/time';
@@ -38,12 +38,9 @@
username
}
}).user.profile.badges;
+ $: ({ Profile } = data);
- onMount(() => {
- user(data.username, /^\d+$/.test(data.username))
- .then((profile) => (userData = profile))
- .catch(() => (error = true));
- });
+ onMount(() => (userData = data.userData));
const handleDragStart = (
event: DragEvent & { currentTarget: EventTarget & HTMLDivElement },
@@ -252,19 +249,19 @@
<p />
{/if}
- {#await fetch(root(`/api/badges?id=${userData.id}`))}
+ {#if $Profile.fetching}
{displayBadges(userData.name, '...')}
- {:then badges}
- {#await badges.json()}
- {displayBadges(userData.name, '...')}
- {:then badges}
- {displayBadges(userData.name, badges.length)}
- {:catch}
+ {:else if $Profile.data}
+ {@const badges = $Profile.data.User.badges.length}
+
+ {#if badges}
+ {displayBadges(userData.name, badges)}
+ {:else}
{displayBadges(userData.name, '?')}
- {/await}
- {:catch}
+ {/if}
+ {:else}
{displayBadges(userData.name, '?')}
- {/await}
+ {/if}
</div>
</div>
</div>